你能解释一下 qiankun 和 iframe 在微前端实现方式上的区别和优劣吗？
在什么情况下，你会选择使用 iframe 而不是 qiankun？

<!-- qiankun -->
qiankun 是基于 single-spa 的微前端解决方案，
它通过 JavaScript 的 import 功能动态加载子应用，
然后在主应用的 DOM 中挂载子应用的 DOM。
qiankun 提供了一种 JavaScript 沙箱机制，可以隔离子应用的全局变量，防止子应用之间的全局变量污染。
此外，qiankun 还提供了一种样式隔离机制，可以防止子应用的 CSS 影响其他应用。
这些特性使得 qiankun 在处理复杂的微前端场景时具有很高的灵活性。


<!-- iframe -->
iframe 是一种较为传统的前端技术，它可以在一个独立的窗口中加载一个 HTML 页面。
iframe 本身就是一种天然的沙箱，它可以完全隔离子应用的 JavaScript 和 CSS，防止子应用之间的相互影响。
然而，iframe 的这种隔离性也是它的缺点，因为它使得主应用和子应用之间的通信变得困难。
此外，iframe 还有一些其他的问题，比如性能问题、SEO 问题等。

<!-- 如何选择 -->
如果你的子应用是基于现代前端框架（如 React、Vue、Angular 等）开发的单页应用，
那么 qiankun 可能是一个更好的选择。因为它可以提供更好的用户体验和更高的开发效率。

如果你的子应用是基于 jQuery 或者其他传统技术开发的多页应用，或者你需要在子应用中加载一些第三方的页面，
那么 iframe 可能是一个更好的选择，因为它可以提供更强的隔离性。


